Systems and methods for data transformation using higher order learning

ABSTRACT

Disclosed is a method and apparatus for transforming data in vector form. Each vector is composed of a set of attributes that are either boolean or have been mapped to boolean form. The vectors may or may not fall into categories assigned by a subject matter expert (SME). If categories exist, the categorical labels divide the vectors into subsets. The first transformation calculates a prior probability for each attribute based on the links between attributes in each subset of the vectors. The second transformation computes a new numeric value for each attribute based on the links between attributes in each subset of the vectors. The third transformation operates on vectors that have not been categorized. Based on the automatic selection of categories from the attributes, this transformation computes a new numeric value for each attribute based on the links between attributes in each subset of the vectors.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application Ser. No. 61/185,255, filed Jun. 9, 2009 and is a continuation-in-part of U.S. patent application Ser. No. 12/317,152 filed Dec. 19, 2008, U.S. patent application Ser. No. 12/317,134 filed Dec. 19, 2008, and U.S. patent application Ser. No. 12/317,153 filed Dec. 19, 2008, all of which are incorporated herein by reference in their entirety.

FIELD

The present disclosure relates to data transformation, and more specifically to a method and system for data transformation using higher order learning.

BACKGROUND

A well known problem in real-world applications of machine learning is that expert labeling of large amounts of data for training a classifier (a function that maps sets of input features or attributes to classes) is prohibitively expensive. Often in practice, only a small amount of data is available and as a result the amount of labeled data is far from adequate. In this case, making an adequate estimation of the model parameters of a classifier is challenging.

Further, the underlying assumption in traditional machine learning algorithms is that instances are independent and identically distributed (“I.I.D.”). This assumption simplifies the underlying mathematics of statistical models, but in fact does not hold for many real world applications. Such models constructed under the I.I.D. assumption only leverage relationships between attributes (meaning a specification that defines a property) within instances (e.g., co-occurrence relationships), and do not model connections between the attributes in different instances. A well-known example is market basket analysis, which forms sets of items that are purchased together. In supervised learning, classification of a single instance of previously unseen data is thus possible because no additional context is needed to infer class membership. However, such a context-free approach does not exploit valuable information about relationships between instances in the dataset.

SUMMARY

This disclosure leverages higher-order (relational) information that enables more efficient learning of both discriminative and generative supervised models as well as unsupervised models.

The disclosure consists of a set of transformations that operate on data in vector form. Each vector is composed of a set of attributes that are either boolean (having one of two values, either 1 or 0) or that have been mapped to boolean form. The vectors may or may not fall into categories assigned (manually or by some other means) by a subject matter expert (“SME”). If categories exist, the categorical labels divide the vectors into subsets. The first transformation calculates a prior probability for each attribute based on the links between attributes in each subset of the vectors. The second transformation computes a new numeric value for each attribute based on the links between attributes in each subset of the vectors. The third transformation operates on vectors that have not been categorized by an SME. Based on the automatic selection of categories from the attributes, this transformation computes a new numeric value for each attribute based on the links between attributes in each subset of the vectors.

These and other aspects and embodiments will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawing figures, which are not to scale, and where like reference numerals indicate like elements throughout the several views:

FIG. 1 is a block diagram of a computing device with a first data transformation module in accordance with an embodiment of the present disclosure;

FIG. 2 is a flow diagram of the input vectors of the first data transformation module in accordance with an embodiment of the present disclosure;

FIG. 3 is a flow diagram of an operation of the first data transformation module in accordance with an embodiment of the present disclosure;

FIG. 4 is a graph showing the performance of applying the transform of the first data transformation module of FIG. 1 in a defense setting in accordance with an embodiment of the present disclosure;

FIG. 5 is a block diagram of a computing device with a second data transformation module in accordance with an embodiment of the present disclosure;

FIG. 6 is a flow diagram of the input vectors of the second data transformation module in accordance with an embodiment of the present disclosure;

FIG. 7 is a flow diagram of an operation of the second data transformation module in accordance with an embodiment of the present disclosure;

FIG. 8 is a block diagram of a computing device with a third data transformation module in accordance with an embodiment of the present disclosure;

FIG. 9 is a flow diagram of the input vectors of the third data transformation module in accordance with an embodiment of the present disclosure;

FIG. 10 is a flow diagram of an operation of the third data transformation module in accordance with an embodiment of the present disclosure; and

FIG. 11 is a high level block diagram of a computing device in accordance with an embodiment of the present disclosure.

DESCRIPTION OF EMBODIMENTS

Embodiments are now discussed in more detail referring to the drawings that accompany the present application. In the accompanying drawings, like and/or corresponding elements are referred to by like reference numbers.

Various embodiments are disclosed herein; however, it is to be understood that the disclosed embodiments are merely illustrative of the disclosure that can be embodied in various forms. In addition, each of the examples given in connection with the various embodiments is intended to be illustrative, and not restrictive. Further, the figures are not necessarily to scale, some features may be exaggerated to show details of particular components (and any size, material and similar details shown in the figures are intended to be illustrative and not restrictive). Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the disclosed embodiments.

FIG. 1 is a block diagram of an embodiment of a computing device with a first data transformation module 115. Input data 110 is composed of vectors of attributes with categorical labels that divide the vectors into subsets. FIG. 2 is an embodiment of a flow diagram of the input data 110. The input data 110 includes vectors 210, 215, 220, 225, 230 and 235. Each vector includes categorical Labels 238 that denote subsets. In one embodiment, the transformation module 115 calculates a prior probability for each attribute A 240, B 245, C 250, and D 255 based on links 260 between attributes 240, 245, 250, 255 in each subset of the vectors 210, 215, 220, 225, 230 and 235. After the first data transformation module 115 operates on the input data 110, the first data transformation module 115 produces calculated prior probabilities (output priors) 120. The output priors are probabilities assigned to attributes based on the patterns of occurrence of the attributes.

In one embodiment, vectors 210, 215, 220, 225, 230, 235 each are composed of a set of attributes that are either boolean or that have been mapped to boolean form. The vectors fall into categories assigned (manually or by some other means) by a subject matter expert (SME) as indicated by the labels below the vectors. These categorical labels divide the vectors into subsets, as exemplified below the vectors.

Example attributes A, B, C and D are shown, as well as their connections based on co-occurrence in vectors. For example, A and B co-occur in vector 210, B and C co-occur in vector 215, etc. This is a first-order co-occurrence, also termed a first-order path or first-order link. A second-order co-occurrence (second-order path or second-order link) is also shown between A and C through B and between B and D, through C. A third-order co-occurrence (third-order path or third-order link) is also shown between A and D through B and C. In the context of Bayesian learning (meaning a statistical inference in which evidence or observations are used to update or to newly infer the probability that a hypothesis may be true), first-, second- and other higher-order links are collectively known as higher-order links 260.

FIG. 3 provides an embodiment of the operation of the transform of the first data transformation module 115. For each subset of vectors (as shown in FIG. 2), higher-order links 260 are formed (Step 310). In one embodiment, traditional (i.e., zero-order) attribute priors are computed from the zero-order probability mass function P(x^(i)|X) of attribute i defined over two events: presence of attribute i in a randomly chosen vector from a dataset X, and the absence of that attribute. The corresponding conditional probabilities are estimated using the frequency of occurrence of attribute i in dataset X by

$\begin{matrix} {{{P\left( {x^{i} = {1X}} \right)} = \frac{\left\{ {{{x:\mspace{11mu} x^{i}} = 1},{x \in X}} \right\} }{X}}\mspace{14mu} {{{and}\mspace{14mu} {P\left( {x^{i} = \left. 0 \middle| X \right.} \right)}} = {1 - {{P\left( {x^{i} = {1X}} \right)}.}}}} & (1) \end{matrix}$

Probabilistic characterization (1) is extended into the space of higher-order links by defining it over sets of higher-order links rather than individual data vectors (Step 315).

Let Φ(X) denote the set of all higher-order links of a specified order in a dataset X. Further, let φ(i,X)⊂Φ(X) denote the subset of higher-order links that contain attribute i in dataset X. Set φ(i,X) defines an event that a randomly chosen higher-order link contains attribute i. Together, sets Φ(X) and φ(i,X) allow for characterization of each attribute i by a probability mass function {circumflex over (P)}(x^(i)|X) defined over two events: presence of attribute i in a randomly chosen higher-order link, and the absence of that attribute from a randomly chosen higher-order link. The corresponding conditional higher-order probabilities (i.e., attribute priors) can then be estimated by

$\begin{matrix} {{{\hat{P}\left( {x^{i} = {1X}} \right)} = \frac{{\phi \left( {i,X} \right)}}{\Phi (X)}},{{{and}\mspace{14mu} {\hat{P}\left( {x^{i} = {0X}} \right)}} = {1 - {{\hat{P}\left( {x^{i} = {1X}} \right)}.}}}} & (2) \end{matrix}$

As an example, (2) can be applied to parameter estimation in the well-known Naïve Bayes classifier, which assumes that the preference (or absence) of a particular feature of a class is unrelated to the presence (or absence) of any other feature, given an attribute i and a vector subset X_(j) with class label c_(j) as follows

$\begin{matrix} {{{\hat{P}\left( {ic_{j}} \right)} = \frac{1 + {\phi \left( {i,X_{j}} \right)}}{2 + {\Phi \left( X_{j} \right)}}},} & (3) \end{matrix}$

-   -   with class probability

$\begin{matrix} {{\hat{P}\left( c_{j} \right)} = {\frac{\Phi \left( X_{j} \right)}{\sum\limits_{k = 1}^{K}{\Phi \left( X_{k} \right)}}.}} & (4) \end{matrix}$

-   -   This forms a new learner, Higher Order Naïve Bayes.

In one embodiment, attribute priors produced from step 315 are then transmitted to a generative learner (an algorithm that generates a model from the respective subsets of labeled vectors) such as Naïve Bayes, and are used to build a model (Step 320). After model construction is complete, the model can be used to classify previously unseen vectors.

In one embodiment, first data transformation module 115 has been used in conjunction with generative learners in a variety of settings including text (e.g., web pages, newsgroup postings, etc.) classification, radio-nuclear signal classification, and threat detection in streaming data.

FIG. 4 shows a graph 400 of an embodiment of the performance of applying the transform of the first data transformation module 115 in a defense setting where the goal is to identify threats from streaming data. In one embodiment, the F_(β) metric (which averages precision and recall) is most useful. In one embodiment, both precision and recall are important: precision, to reduce the signal-to-noise ratio, and recall, to prevent overlooking valuable information. Here, the transform of the first data transformation module 115 used in Naïve Bayes (IxHONB™ in FIG. 4) resulted in a strong performance advantage, especially for smaller training datasets (datasets used to train a classifier to generate a model for use in classifying previously unseen data). The differences were highly significant up to 60% sample size, after which traditional (zero-order) Naïve Bayes had sufficient data to learn a model. FIG. 4 depicts an embodiment of these results for β=1, which weights precision and recall equally.

FIG. 5 is a block diagram of computing device 105 with a second data transformation module 505. Input data 510 that is composed of vectors of attributes with categorical labels that divide the vectors into subsets is transmitted to the data transformation module 505. FIG. 6 shows an embodiment of the input vectors. In one embodiment, the second data transformation module 505 computes a new numeric value for each attribute based on the links between attributes in each subset of the vectors. FIG. 7 illustrates an embodiment of the operation of the transform performed by the second data transformation module 505. The output of the second data transformation module 505 is output transformed data 520.

FIG. 6 is an embodiment of a flow diagram of the second data transformation module 505 receiving input data 510 as vectors containing attributes A 640, B 645, C 650, and D 655 and associated labels. In one embodiment, vectors 610, 615, 620, 625, 630, 635 are each composed of a set of attributes that are either boolean or have been mapped to boolean form. The vectors fall into categories assigned (manually or by some other means) by a subject matter expert (SME) as indicated by the Labels 638 below the vectors. These categorical labels divide the vectors into subsets, as exemplified below the vectors.

In one embodiment, example attributes A 640, B 645, C 650, and D 655 are shown, as well as their connections based on co-occurrence in vectors. For example, A and B co-occur in vector 610, B and C co-occur in vector 615, etc. This is a first-order co-occurrence (a first-order path or first-order link). A second-order co-occurrence (second-order path or second-order link) is also shown between A and C through B and between B and D, through C. A third-order co-occurrence (third-order path or third-order link) is also shown between A and D through B and C. In the context of Bayesian learning, first-, second- and other higher-order links are collectively known as higher-order links.

FIG. 7 is an embodiment of a flow diagram of the operation of the transform of the second data transformation module 505. For each subset of vectors 610, 615, 620, 625, 630, and 635, higher order links 660 are formed (Step 710). In one embodiment, the second data transformation module 505 then calculates a higher order transform of each attribute in each subset (Step 725). Let C={c₁, . . . , c_(K)} denote the set of categorical (i.e., class) labels. Given two sets X_(j) and X_(k) of (possibly binarized training) vectors from subsets c_(j) and c_(k), respectively, the class conditional higher-order attribute probabilities (attribute priors in equation (2) from above, Step 725) are computed. Let us denote the corresponding conditional log likelihood ratios as

$\begin{matrix} {{\varphi_{i}^{(1)} = {\log \frac{\hat{P}\left( {x^{i}X_{j}} \right)}{\hat{P}\left( {x^{i}X_{k}} \right)}}},{and}} & (5) \\ {\varphi_{i}^{(0)} = {\log {\frac{1 - {\hat{P}\left( {x^{i}X_{j}} \right)}}{1 - {\hat{P}\left( {x^{i}X_{k}} \right)}}.}}} & (6) \end{matrix}$

Each binary vector x=(x¹, . . . , x^(n)), xεX_(j)∪X_(k), is then transformed into a real vector {circumflex over (x)}=({circumflex over (x)}¹, . . . , {circumflex over (x)}^(n)), where

$\begin{matrix} {{\hat{x}}^{i} = \left\{ \begin{matrix} {\frac{\varphi_{i}^{(1)}}{\sqrt{\varphi_{i}^{(1)}}},} & {{{{if}\mspace{14mu} x^{i}} = 1},{\varphi_{i}^{(1)} \neq 0}} \\ {\frac{\varphi_{i}^{(0)}}{\sqrt{\varphi_{i}^{(0)}}},} & {{{{if}\mspace{14mu} x^{i}} = 0},{\varphi_{i}^{(0)} \neq 0}} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & (7) \end{matrix}$

Finally, the resulting dataset {circumflex over (X)}_(j)∪{circumflex over (X)}_(k) is used as input for training a classifier (a function that maps sets of input features or attributes to classes) for categories c_(j) and c_(k). Data transformation (7) assigns weights that are high in absolute values for attributes present in a vector that are highly discriminative (meaning attributes that are efficacious in distinguishing between subsets of labeled vectors). The normalizing factors in (7) moderate the spread of values of each attribute in order to allow less discriminative attributes to retain a certain level of influence over the classification. This level of influence depends on the discriminative power of an attribute as measured by (5) and (6).

In Step 730, the data transformed is transmitted to a discriminative learner (an algorithm that constructs a model from subsets of labeled vectors by discriminating between the vectors) such as a Support Vector Machine (SVM), and used to build a model. After model construction is complete, the model can be used to classify previously unseen vectors.

In one embodiment, experiments were carried out on three widely-used text corpora (a body of text considered to be representative of a topic): RELIGION, SCIENCE and POLITICS subsets of 20 News Groups (20NG) benchmark data. In one embodiment, cross-postings in the 20NG data were removed. Then, in one embodiment, for each dataset stop word removal, stemming (reducing inflected words to their root form) and removal of all terms that occurred in fewer than three documents in the dataset was performed. The remaining terms were ranked in one embodiment by Information Gain (which defines a preferred sequence of attributes to investigate to more rapidly construct a model). In one embodiment, the top 2000 terms were selected. In one embodiment, 500 documents were sampled at random from each class to comprise the 20NG datasets used in the experiments. In order to simulate a real-world scenario where only a few labeled data vectors are available, in one embodiment attention was focused on 5% training samples. In one embodiment, this corresponded to training on 25 documents per class and testing on the other 475 documents per class. Classification accuracies averaged over eight trials are reported in Table 1 below. Highest accuracies attained on each dataset are highlighted in italics. The corresponding standard deviations are also reported. The obtained results indicate that leveraging higher-order links leads to significant improvements in classification accuracies.

TABLE 1 Transform with SVM Standard SVM Standard Dataset Accuracy Deviation Accuracy Deviation RELIGION (3) 0.699 0.022 0.723 0.023 SCIENCE (4) 0.751 0.029 0.792 0.039 POLITICS (3) 0.763 0.03 0.793 0.047

FIG. 8 illustrates a block diagram of an embodiment of a computing device 105 with a third data transformation module 840. In one embodiment, input data 835 is composed of vectors of attributes without categorical labels. FIG. 9 shows an embodiment of a flow diagram of the input vectors. Based on the automatic selection of categories from the attributes, in one embodiment the transformation module 840 computes a new numeric value for each attribute based on the links between attributes in each subset of the vectors. The output of the third data transformation module 840 is output transformed data 845.

FIG. 9 illustrates the third data transformation module 840 receiving input data as vectors containing attributes A 940, B 945, C 950, and D 955 without associated labels. Vectors 910, 915, 920, 925, 930, and 935 are each composed of a set of attributes that are either boolean or have been mapped to boolean form. In one embodiment, the vectors are not categorized. Example attributes A 940, B 945, C 950 and D 955 are shown, as well as their connections based on co-occurrence in vectors. For example, A and B co-occur in vector 910, B and C co-occur in vector 915, etc. This is a first-order co-occurrence (a first-order path or first-order link). A second-order co-occurrence (second-order path or second-order link) is also shown between A and C through B and between B and D, through C. A third-order co-occurrence (third-order path or third-order link) is also shown between A and D through B and C. As described above, in the context of Bayesian learning, first-, second- and other higher-order links are collectively known as higher-order links.

FIG. 10 provides an embodiment of a flow diagram of the operation of the transform applied by the third data transformation module 840. In one embodiment, candidate categorical labels are automatically selected in sequence using each attribute in turn, and these categorical labels divide the vectors into subsets (Step 1035). For each subset of vectors from Step 1035, higher-order links 960 are formed (Step 1040).

In one embodiment, the overall scheme of the transformation is as follows. Each attribute i partitions a n-dimensional boolean space X={0,1}^(n) into two subspaces: X₁(i)={x:x=1,xεX} and X₀(i)=X\X₁(i). In each of the subspaces X₁(i) and X₀(i), attribute i is represented as a probabilistic function of all attributes. This probabilistic function is defined over the space of higher-order links. A second function then unifies these representations across subspaces X₁(i) and X₀(i), and produces the final transformation (Step 1045). The unifying function also acts as a filter and prevents attributes that exhibit the same distribution in both subspaces X₁(i) and X₀(i) from influencing the transformation of attribute i.

Given a set X⊂X of n-dimensional boolean vectors, the two disjoint subsets (subsets that have no element in common) determined by some attribute i are denoted as X₁(i)={x:x^(i)=1,xεX} and X₀(i)=X\X₁(i). Here φ(i,X) denotes the subset of higher-order paths that contain attribute i in a dataset X, while Φ(X) denotes the set of all higher-order paths in X.

In order to capture the probabilistic relationships between attribute i and other attributes, the conditional higher-order probability mass function is defined as

$\begin{matrix} {{{P^{\prime}\left( {{x^{i}x^{1}},\ldots \mspace{14mu},x^{n}} \right)} = \frac{{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},{x^{n}{X_{x^{i}}(i)}}} \right)}{P^{\prime}\left( {X_{x^{i}}(i)} \right)}}{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)}},} & (8) \end{matrix}$

where the higher-order probability P′(X_(x) _(i) (i)) of subset X_(x) _(i) (i) is estimated by the ratio of the number of higher-order paths in that subset,

$\begin{matrix} {{P^{\prime}\left( {X_{x^{i}}(i)} \right)} = {\frac{{\Phi \left( {X_{x^{i}}(i)} \right)}}{{{\Phi \left( {X_{1}(i)} \right)}} + {{\Phi \left( {X_{0}(i)} \right)}}}.}} & (9) \end{matrix}$

To make computation of the joint probability P′(x¹, . . . , x^(n)|X_(x) _(i) (i)) tractable, the common (naïve) assumption of conditional independence of attributes given the value of attribute i is made. It follows that

$\begin{matrix} {{{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},{x^{n}{X_{x^{i}}(i)}}} \right)} = {\prod\limits_{j = 1}^{n}{P^{\prime}\left( {x^{j}x^{i}} \right)}}},} & (10) \end{matrix}$

where the conditional higher-order probability mass function P′(x^(j)|x^(i)) is estimated by

$\begin{matrix} {{P^{\prime}\left( {x^{j} = {1x^{i}}} \right)} = {\frac{{\phi \left( {j,{X_{x^{i}}(i)}} \right)}}{{\Phi \left( {X_{x^{i}}(i)} \right)}}.}} & (11) \end{matrix}$

The probability mass function P′(x^(j)|x^(i)) is completely defined by (11), since P′(x^(j)=0|x^(i))=1−P′(x^(j)=1|x^(i)).

The proposed transform is a non-linear mapping Z=(z¹(x), . . . , z^(n)(x)):{0,1}^(n)→

^(n), from a n-dimensional boolean space X to a n-dimensional real space Z. A notable feature of this mapping is that dimensions of space Z correspond to the original attributes and, therefore, maintain their interpretability. Function Z maps each boolean attribute i to the real domain by a non-linear function z^(i)(x¹, . . . , x^(n)):{0,1}→

^(n). Mapping functions z^(i) are defined over the space of higher-order paths as

$\begin{matrix} \begin{matrix} {{z^{i}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)} = \frac{P^{\prime}\left( {{x^{i} = {1x^{1}}},\ldots \mspace{14mu},x^{n}} \right)}{P^{\prime}\left( {{x^{i} = {0x^{1}}},\ldots \mspace{14mu},x^{n}} \right)}} \\ {= {\prod\limits_{j = 1}^{n}{\frac{P^{\prime}\left( {{x^{j}x^{i}} = 1} \right)}{P^{\prime}\left( {{x^{j}x^{i}} = 0} \right)}{\frac{P^{\prime}\left( {X_{1}(i)} \right)}{P^{\prime}\left( {X_{0}(i)} \right)}.}}}} \end{matrix} & (12) \end{matrix}$

For convenience of numerical computation, in practice a log transformation of the mapping functions (12) is used

$\begin{matrix} {{\log \mspace{11mu} {z^{i}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)}} = {{\sum\limits_{j = 1}^{n}\frac{P^{\prime}\left( {{x^{j}x^{i}} = 1} \right)}{P^{\prime}\left( {{x^{j}x^{i}} = 0} \right)}} + {\log {\frac{P^{\prime}\left( {X_{1}(i)} \right)}{P^{\prime}\left( {X_{0}(i)} \right)}.}}}} & (13) \end{matrix}$

A relationship with the supervised learning theory can be noted here. It can be recognized that the mapping function (13) is the Naïve Bayes discriminant function defined over the space of higher-order paths rather than the traditional (zero-order) attribute frequencies, and where attribute i plays a role of the class indicator. The data transformed in Step 1045 is transmitted 10 an unsupervised learner such as the k-means clustering algorithm and used to build a model (Step 1050). After model construction is complete, the model can be used to categorize previously unseen vectors.

In one embodiment, the experimental evaluation described herein was carried out on four benchmark text corpora. Three of these datasets were the RELIGION, SCIENCE and POLITICS subsets of the 20 News Groups (20NG) benchmark data with cross postings and stop words removed and other words stemmed. In one embodiment, to keep the computation manageable. 500 documents were sampled at random from each class to comprise the 20NG datasets used in the experiments. In one embodiment, the other dataset, BBC, contained 2225 news stories from the British Broadcasting Corporation (BBC). In one embodiment, each news story belonged to one of five classes: business, entertainment, politics, sport, or technology. In one embodiment, the BBC dataset was preprocessed by the curators of the dataset, who removed stop words and stemmed the remaining words. In one embodiment, for each dataset, those attributes were selected whose minimum-frequency value covered at least five percent of data vectors in the dataset. (In one embodiment, other terms would have low variability and would therefore be largely ignored by the clustering process.)

In one embodiment, class reconstruction errors attained by the k-means clustering criteria on Boolean (original), zero-order and second-order spaces are reported in Table 2 below for the benchmark datasets. In one embodiment, performance improvements attained as a result of applying the transform of the third data transformation module 840 were statistically significant at the 5% level. Moreover, the improvements were consistent across datasets, which indicates that module 840 was able to increase separability between the various homogeneous subgroups of data vectors. In one embodiment, Table 2 also demonstrates that using only the zero-order information is not sufficient for increasing separability between the underlying subgroups.

TABLE 2 Data Boolean Zero-order Transform 840 REL (3) 0.632 0.627 0.56 POL (3) 0.642 0.643 0.523 SCI (4) 0.587 0.7 0.545 BBC (5) 0.222 0.284 0.185

FIG. 11 is a block diagram illustrating an internal architecture of an example of a computing device, such as computing device 105, in accordance with one or more embodiments of the present disclosure. As shown in FIG. 11, internal architecture 1100 includes one or more processing units (also referred to herein as CPUs) 1112, which interface with at least one computer bus 1102. Also interfacing with computer bus 1102 are persistent storage medium/media 1106, network interface 1114, memory 1104, e.g., random access memory (RAM), run-time transient memory, read only memory (ROM), etc., media disk drive interface 1108 as an interface for a drive that can read and/or write to media including removable media such as floppy. CD-ROM, DVD, etc. media, display interface 1110 as interface for a monitor or other display device, keyboard interface 1116 as interface for a keyboard, pointing device interface 1118 as an interface for a mouse or other pointing device, and miscellaneous other interfaces not shown individually, such as parallel and serial port interfaces, a universal serial bus (USB) interface, and the like.

Memory 1104 interfaces with computer bus 1102 so as to provide information stored in memory 1104 to CPU 1112 during execution of software programs such as an operating system, application programs, device drivers, and software modules that comprise program code, and/or computer-executable process steps, incorporating functionality described herein, e.g., one or more of process flows described herein. CPU 1112 first loads computer-executable process steps from storage, e.g., memory 1104, storage medium/media 1106, removable media drive, and/or other storage device. CPU 1112 can then execute the stored process steps in order to execute the loaded computer-executable process steps. Stored data, e.g., data stored by a storage device, can be accessed by CPU 1112 during the execution of computer-executable process steps.

Persistent storage medium/media 1106 is a computer readable storage medium(s) that can be used to store software and data, e.g., an operating system and one or more application programs. Persistent storage medium/media 1106 can also be used to store device drivers, such as one or more of a digital camera driver, monitor driver, printer driver, scanner driver, or other device drivers, web pages, content files, playlists and other files. Persistent storage medium/media 1106 can further include program modules and data files used to implement one or more embodiments of the present disclosure.

For the purposes of this disclosure a computer readable storage medium stores computer data, which data can include computer program code executable by a computer, in machine readable form. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.

Those skilled in the art will recognize that the methods and systems of the present disclosure may be implemented in many manners and as such are not to be limited by the foregoing exemplary embodiments and examples. In other words, functional elements being performed by single or multiple components, in various combinations of hardware and software or firmware, and individual functions, may be distributed among software applications at either the client or server or both. In this regard, any number of the features of the different embodiments described herein may be combined into single or multiple embodiments, and alternate embodiments having fewer than, or more than, all of the features described herein are possible. Functionality may also be, in whole or in part, distributed among multiple components, in manners now known or to become known. Thus, myriad software/hardware/firmware combinations are possible in achieving the functions, features, interfaces and preferences described herein. Moreover, the scope of the present disclosure covers conventionally known manners for carrying out the described features and functions and interfaces, as well as those variations and modifications that may be made to the hardware or software or firmware components described herein as would be understood by those skilled in the art now and hereafter.

While the system and method have been described in terms of one or more embodiments, it is to be understood that the disclosure need not be limited to the disclosed embodiments. It is intended to cover various modifications and similar arrangements included within the spirit and scope of the claims, the scope of which should be accorded the broadest interpretation so as to encompass all such modifications and similar structures. The present disclosure includes any and all embodiments of the following claims. 

1. A method for transforming data comprising: receiving, by a computing device, input data with categorical labels, the input data comprising vectors and each categorical label denoting a subset of the vectors; forming, by the computing device, higher-order links for each subset of the vectors; calculating, by the computing device, a higher-order transform for each attribute in each subset; and transmitting, by the computing device, transformed data to a learner to build a model.
 2. The method of claim 1 wherein the calculating of the higher-order transform further comprises calculating a higher-order prior for each attribute in each subset.
 3. The method of claim 1 wherein the transmitting transformed data to a learner further comprises transmitting transformed data to a generative learner.
 4. The method of claim 1 wherein the transmitting transformed data to a learner further comprises transmitting transformed data to a discriminative learner.
 5. The method of claim 1 wherein the transmitting transformed data to a learner further comprises transmitting transformed data to an unsupervised learner.
 6. The method of claim 1 further comprising building a model using the transformed data.
 7. The method of claim 1 wherein corresponding conditional higher-order probabilities can be estimated by ${{\hat{P}\left( {x^{i} = {1X}} \right)} = \frac{{\phi \left( {i,X} \right)}}{{\Phi (X)}}},{{{and}\mspace{14mu} {\hat{P}\left( {x^{i} = {0X}} \right)}} = {1 - {\hat{P}\left( {x^{i} = {1X}} \right)}}}$ where Φ(X) denotes a set of higher-order links of a specified order in a dataset X, φ(i,X)⊂Φ(X) denotes a subset of higher-order links that contain attribute i in dataset X, set φ(i,X) defines an event that a randomly chosen higher-order link contains attribute i, sets Φ(X) and φ(i,X) allow for characterization of each attribute i by a probability mass function {circumflex over (P)}(x^(i)|X) defined over two events: presence of attribute i in a randomly chosen higher-order link, and an absence of that attribute from a randomly chosen higher-order link.
 7. The method of claim 1 wherein corresponding class conditional higher-order attribute probabilities are computed, wherein corresponding conditional log likelihood ratios are defined as: $\begin{matrix} {{\varphi_{i}^{(1)} = {\log \frac{\hat{P}\left( {x^{i}X_{j}} \right)}{\hat{P}\left( {x^{i}X_{k}} \right)}}},{and}} \\ {\varphi_{i}^{(0)} = {\log {\frac{1 - {\hat{P}\left( {x^{i}X_{j}} \right)}}{1 - {\hat{P}\left( {x^{i}X_{k}} \right)}}.}}} \end{matrix}$ where C={c₁, . . . , c_(K)} denotes a set of categorical labels, two sets X_(j) and X_(k) of vectors are from subsets c_(j) and c_(k), respectively, and wherein each binary vector x=(x¹, . . . , x^(n)), xεX_(j)∪X_(k), is then transformed into a real vector {circumflex over (x)}=({circumflex over (x)}¹, . . . , {circumflex over (x)}^(n)), where ${\hat{x}}^{i} = \left\{ \begin{matrix} {\frac{\varphi_{i}^{(1)}}{\sqrt{\varphi_{i}^{(1)}}},} & {{{{if}\mspace{14mu} x^{i}} = 1},{\varphi_{i}^{(1)} \neq 0}} \\ {\frac{\varphi_{i}^{(0)}}{\sqrt{\varphi_{i}^{(0)}}},} & {{{{if}\mspace{14mu} x^{i}} = 0},{\varphi_{i}^{(0)} \neq 0}} \\ {0,} & {{otherwise}.} \end{matrix} \right.$
 8. The method of claim 1 wherein each attribute i partitions a n-dimensional boolean space X={0,1}^(n) into two subspaces: X₁(i)={x:x^(i)=1,xεX} and X₀(i)=X\X₁(i), wherein in each of the subspaces X₁(i) and X₀(i), attribute i is represented as a probabilistic function of all attributes, this probabilistic function being defined over a space of higher-order links, and a second function unifies representations across subspaces X₁(i) and X₀(i), and produces a final transformation.
 9. The method of claim 8 wherein the unifying function acts as a filter and prevents attributes that exhibit a same distribution in both subspaces X₁(i) and X₀(i) from influencing the transformation of attribute i.
 10. The method of claim 9 wherein, given a set X⊂X of n-dimensional boolean vectors, two disjoint subsets determined by some attribute i are denoted as X₁(i)={x:x^(i)=1,xεX} and X₀(i)=X\X₁(i), φ(i,X) denotes a subset of higher-order paths that contain attribute i in a dataset X, and Φ(X) denotes a set of all higher-order paths in X, and a conditional higher-order probability mass function is defined as ${{P^{\prime}\left( {{x^{i}x^{1}},\ldots \mspace{14mu},x^{n}} \right)} = \frac{{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},{x^{n}{X_{x^{i}}(i)}}} \right)}{P^{\prime}\left( {X_{x^{i}}(i)} \right)}}{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)}},$ where a higher-order probability P′(X_(x) _(i) (1)) of subset X_(x) _(i) (i) is estimated by the ratio of number of higher-order paths in that subset, ${P^{\prime}\left( {X_{x^{i}}(i)} \right)} = {\frac{{\Phi \left( {X_{x^{i}}(i)} \right)}}{{{\Phi \left( {X_{1}(i)} \right)}} + {{\Phi \left( {X_{0}(i)} \right)}}}.}$
 11. The method of claim 10 wherein naïve assumption of conditional independence of attributes given the value of attribute i is: ${{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},{x^{n}{X_{x^{i}}(i)}}} \right)} = {\prod\limits_{j = 1}^{n}{P^{\prime}\left( {x^{j}x^{i}} \right)}}},$ where conditional higher-order probability mass function P′(x^(j)|x^(i)) is estimated by ${P^{\prime}\left( {x^{j} = {1x^{i}}} \right)} = \frac{{\phi \left( {j,{X_{x^{i}}(i)}} \right)}}{{\Phi \left( {X_{x^{i}}(i)} \right)}}$ since P′(x^(j)=0|x^(i))=1−P′(x^(j)=1|x^(i)), and the proposed transform is a non-linear mapping Z=(z¹(x), . . . , z^(n)(x):{0,1}^(n)→

^(n), from a n-dimensional boolean space X to a n-dimensional real space Z where function Z maps each boolean attribute i to the real domain by a non-linear function z^(i)(x¹, . . . , x^(n)):{0,1}→

^(n), and mapping functions z^(i) are defined over space of higher-order paths as $\begin{matrix} {{z^{i}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)} = \frac{P^{\prime}\left( {{x^{i} = {1x^{1}}},\ldots \mspace{14mu},x^{n}} \right)}{P^{\prime}\left( {{x^{i} = {0x^{1}}},\ldots \mspace{14mu},x^{n}} \right)}} \\ {= {\prod\limits_{j = 1}^{n}{\frac{P^{\prime}\left( {{x^{j}x^{i}} = 1} \right)}{P^{\prime}\left( {{x^{j}x^{i}} = 0} \right)}{\frac{P^{\prime}\left( {X_{1}(i)} \right)}{P^{\prime}\left( {X_{0}(i)} \right)}.}}}} \end{matrix}$
 12. The method of claim 11 wherein a log transformation of mapping functions is defined as: ${\log \; {z^{i}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)}} = {{\sum\limits_{j = 1}^{n}\frac{P^{\prime}\left( {{x^{j}x^{i}} = 1} \right)}{P^{\prime}\left( {{x^{j}x^{i}} = 0} \right)}} + {\log {\frac{P^{\prime}\left( {X_{1}(i)} \right)}{P^{\prime}\left( {X_{0}(i)} \right)}.}}}$
 13. A computer readable storage medium tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining the steps of: receiving input data with categorical labels, the input data comprising vectors, and each categorical label denoting a subset of the vectors; forming higher-order links for each subset of the vectors; calculating a higher-order transform for each attribute in each subset; and transmitting transformed data to a learner to build a model.
 14. The computer readable storage medium of claim 13 wherein the calculating of the higher-order transform further comprises calculating a higher-order prior for each attribute in each subset.
 15. The computer readable storage medium of claim 13 wherein the transmitting transformed data to a learner further comprises transmitting transformed data to a generative learner.
 16. The computer readable storage medium of claim 13 wherein the transmitting transformed data to a learner further comprises transmitting transformed data to a discriminative learner.
 17. The computer readable storage medium of claim 13 wherein the transmitting transformed data to a learner further comprises transmitting transformed data to an unsupervised learner.
 18. The computer readable storage medium of claim 13 further comprising building a model using the transformed data.
 19. The computer readable storage medium of claim 13 wherein corresponding conditional higher-order probabilities can be estimated by ${{\hat{P}\left( {x^{i} = {1X}} \right)} = \frac{{\phi \left( {i,X} \right)}}{{\Phi (X)}}},{{{and}\mspace{14mu} {\hat{P}\left( {x^{i} = {0X}} \right)}} = {1 - {\hat{P}\left( {x^{i} = {1X}} \right)}}}$ where Φ(X) denotes a set of higher-order links of a specified order in a dataset X, φ(i,X)⊂Φ(X) denotes a subset of higher-order links that contain attribute i in dataset X, set φ(i,X) defines an event that a randomly chosen higher-order link contains attribute i, sets Φ(X) and φ(i,X) allow for characterization of each attribute i by a probability mass function {circumflex over (P)}(x^(i)|X) defined over two events: presence of attribute i in a randomly chosen higher-order link, and an absence of that attribute from a randomly chosen higher-order link.
 20. The computer readable storage medium of claim 13 wherein corresponding class conditional higher-order attribute probabilities are computed, wherein corresponding conditional log likelihood ratios are defined as: ${\varphi_{i}^{(1)} = {\log \frac{\hat{P}\left( {x^{i}X_{j}} \right)}{\hat{P}\left( {x^{i}X_{k}} \right)}}},{{{and}\mspace{14mu} \varphi_{i}^{(0)}} = {\log {\frac{1 - {\hat{P}\left( {x^{i}X_{j}} \right)}}{1 - {\hat{P}\left( {x^{i}X_{k}} \right)}}.}}}$ where C={c₁, . . . , c_(K)} denotes a set of categorical labels, two sets X_(j) and X_(k) of vectors are from subsets c_(j) and c_(k), respectively, and wherein each binary vector x=(x¹, . . . , x^(n)), xεX_(j)∪X_(k), is then transformed into a real vector {circumflex over (x)}=({circumflex over (x)}¹, . . . {circumflex over (x)}^(n)), where ${\hat{x}}^{i} = \left\{ \begin{matrix} {\frac{\varphi_{i}^{(1)}}{\sqrt{\varphi_{i}^{(1)}}},} & {{{{if}\mspace{14mu} x^{i}} = 1},{\varphi_{i}^{(1)} \neq 0}} \\ {\frac{\varphi_{i}^{(0)}}{\sqrt{\varphi_{i}^{(0)}}},} & {{{{if}\mspace{14mu} x^{i}} = 0},{\varphi_{i}^{(0)} \neq 0}} \\ {0,} & {{otherwise}.} \end{matrix} \right.$
 21. The computer readable storage medium of claim 13 wherein each attribute i partitions a n-dimensional boolean space X={0,1}^(n) into two subspaces: X₁(i)={x:x^(i)=1,xεX} and X₀(i)=X\X₁(i), wherein in each of subspaces X₁(i) and X₀(i), attribute i is represented as a probabilistic function of all attributes, this probabilistic function being defined over a space of higher-order links, and a second function unifies representations across subspaces X₁(i) and X₀(i), and produces a final transformation.
 22. The computer readable storage medium of claim 21 wherein the unifying function acts as a filter and prevents attributes that exhibit a same distribution in both subspaces X₁(i) and X₀(i) from influencing the transformation of attribute i.
 23. The computer readable storage medium of claim 22 wherein, given a set X⊂X of n-dimensional boolean vectors, two disjoint subsets determined by some attribute i are denoted as X₁(i)={x:x^(i)=1,xεX} and X₀(i)=X\X₁(i), φ(i,X) denotes a subset of higher-order paths that contain attribute i in a dataset X, and Φ(X) denotes a set of higher-order paths in X, and a conditional higher-order probability mass function is defined as ${{P^{\prime}\left( {{x^{i}x^{1}},\ldots \mspace{14mu},x^{n}} \right)} = \frac{{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},{x^{n}{X_{x^{i}}(i)}}} \right)}{P^{\prime}\left( {X_{x^{i}}(i)} \right)}}{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)}},$ where higher-order probability P′(X_(x) _(i) (i)) of subset X_(x) _(i) (i) is estimated by the ratio of number of higher-order paths in that subset, ${P^{\prime}\left( {X_{x^{i}}(i)} \right)} = {\frac{{\Phi \left( {X_{x^{i}}(i)} \right)}}{{{\Phi \left( {X_{1}(i)} \right)}} + {{\Phi \left( {X_{0}(i)} \right)}}}.}$
 24. The computer readable storage medium of claim 23 wherein naïve assumption of conditional independence of attributes given a value of attribute i is: ${{P^{\prime}\left( {x^{1},\ldots \mspace{14mu},{x^{n}{X_{x^{i}}(i)}}} \right)} = {\prod\limits_{j = 1}^{n}{P^{\prime}\left( {x^{j}x^{i}} \right)}}},$ where conditional higher-order probability mass function P′(x^(j)|x^(i)) is estimated by ${P^{\prime}\left( {x^{j} = {1x^{i}}} \right)} = \frac{{\phi \left( {j,{X_{x^{i}}(i)}} \right)}}{{\Phi \left( {X_{x^{i}}(i)} \right)}}$ since P′(x^(j)=0|x^(i))=1−P′(x^(j)=1|x^(i)), and the proposed transform is a non-linear mapping Z=(z¹(x), . . . , z^(n)(x)):{0,1}^(n)→

^(n), from a n-dimensional boolean space X to a n-dimensional real space Z, where function Z maps each boolean attribute i to the real domain by a non-linear function z^(i)(x¹, . . . , x^(n)){0,1}→

^(n), and mapping functions z^(i) are defined over a space of higher-order paths as $\begin{matrix} {{z^{i}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)} = \frac{P^{\prime}\left( {{x^{i} = {1x^{1}}},\ldots \mspace{14mu},x^{n}} \right)}{P^{\prime}\left( {{x^{i} = {0x^{1}}},\ldots \mspace{14mu},x^{n}} \right)}} \\ {= {\prod\limits_{j = 1}^{n}{\frac{P^{\prime}\left( {{x^{j}x^{i}} = 1} \right)}{P^{\prime}\left( {{x^{j}x^{i}} = 0} \right)}{\frac{P^{\prime}\left( {X_{1}(i)} \right)}{P^{\prime}\left( {X_{0}(i)} \right)}.}}}} \end{matrix}$
 25. The computer readable storage medium of claim 24 wherein a log transformation of mapping functions is defined as: ${\log \; {z^{i}\left( {x^{1},\ldots \mspace{14mu},x^{n}} \right)}} = {{\sum\limits_{j = 1}^{n}\frac{P^{\prime}\left( {{x^{j}x^{i}} = 1} \right)}{P^{\prime}\left( {{x^{j}x^{i}} = 0} \right)}} + {\log {\frac{P^{\prime}\left( {X_{1}(i)} \right)}{P^{\prime}\left( {X_{0}(i)} \right)}.}}}$ 